package com.zyh.zuoyejiangjie;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        /*
        双色球
         */
//        产生随机双色球号码
        int[] arr = createArr();
        System.out.println(Arrays.toString(arr));
//        用户输入双色球号码
        int[] userArr = userArr();
        System.out.println(Arrays.toString(userArr));
    }

    //    用户输入双色球号码
    public static int[] userArr() {
        int[] arr = new int[7];
        int index = 0;
//        死循环模拟抽奖
        outer:
        while (true) {
//            用户输入一个红球号码,范围是[1-33]
            System.out.println("请输入一个红球号码");
            int redNum = new Scanner(System.in).nextInt();
//            数据校验
            if (redNum > 33 || redNum < 1) {
                System.out.println("输入有误！");
                continue outer;
            }
//            判断arr中的值是否有与红球号码相同
            inner:
            for (int i = 0; i < index; i++) {
                if (arr[i] == redNum) {
                    System.out.println("已经存在相同的号码了");
                    continue outer;
                }
            }
//            程序走到此处说明arr中没有与redNum相同的元素
//            将redNum存入arr的index位置，并将index向后挪一位
            arr[index++] = redNum;
//            判断index是否达到arr.length-1
            if (index == arr.length - 1) {
//                说明arr已经存满了
                break outer;
            }
        }
//        用户输入一个蓝球号码存入arr[arr.length-1]处
        int blueNum=0;
        while (true){
            System.out.println("请输入一个蓝球号码：");
            blueNum = new Scanner(System.in).nextInt();
            if (blueNum>16||blueNum<1){
                System.out.println("输入有误！");
                continue;
            }
            else {
                break;
            }
        }
        arr[arr.length-1]=blueNum;
        return arr;
    }


    //    随机生成双色球号码
    public static int[] createArr() {
        int[] arr = new int[7];
        int index = 0;
//        死循环模拟抽奖
        outer:
        while (true) {
//            随机产生一个红球号码,范围是[1-33]
            int redNum = new Random().nextInt(33) + 1;
//            判断arr中的值是否有与红球号码相同
            inner:
            for (int i = 0; i < index; i++) {
                if (arr[i] == redNum) {
                    continue outer;
                }
            }
//            程序走到此处说明arr中没有与redNum相同的元素
//            将redNum存入arr的index位置，并将index向后挪一位
            arr[index++] = redNum;
//            判断index是否达到arr.length-1
            if (index == arr.length - 1) {
//                说明arr已经存满了
                break outer;
            }
        }
//        随机产生一个蓝球号码存入arr[arr.length-1]处
        arr[arr.length - 1] = new Random().nextInt(16) + 1;
        return arr;
    }
}
